关于C语言 do {....} while(!m) 中while(!m)是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/09/24 22:16:21
题目如下:
main()
{
int m,n=0;
for(m=2;m<5;m++)
{
do {
if(m%3) continue;
n++;
}
while(!m);
n++;
}
printf("n=%d\n",n);
}

上面的 while(!m) 是什么意思? 与 while(m!=1) 一样吗?

“!”逻辑非运算符,如果m>=1,!m就等于0,不再执行do语句,如果,m=0,!m等于1,执行do语句!最后n=4.

while(!m)等同与while(!m!=0)若m为真,那么!m为假(即为0),那么不满足while(!m)不执行while()中的语句;若m为假,那么!m为真,满足while(!m)执行下面语句!

就是!M为真的时候
也就是M为假
与 while(m!=1)不 一样
后者是M不等于1